﻿@{
    ViewBag.Title = "ViewPage1";
    Layout = "~/Views/Shared/_Layout.cshtml";
}


    <table id="dg" ></table>
    <div id="DivAddUser" class="easyui-dialog" style="width:580px;height:435px;padding:10px 20px"
         closed="true" resizable="true" modal="true" buttons="#dlg-buttons">
              <form id="ff" method="post" novalidate="novalidate">
            <fieldset>
                <legend>角色信息填写栏</legend>
                <table id="tblAdd">
                    <tr>
                        <td><label for="UserName">角色名称：</label></td>
                        <td>
                            <input class="easyui-validatebox" type="text" id="RoleName" name="RoleName" data-options="required:true,validType:'length[1,32]'" />
                        </td>           
                        
                    </tr>
                    <tr>
                        <td><label for="SortCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;排序码：</label></td>
                        <td>
                            <input class="easyui-validatebox" type="text" id="RoleOrder" name="RoleOrder" />
                        </td>
                    </tr>
                    <tr>
                        <td><label for="Description">角色描述：</label></td>
                        <td colspan="3">
                            <textarea  style="height:50px; width:406px;" id="RoleDescription" name="RoleDescription" ></textarea>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="text-align:center; padding-top:10px">
                            <a href="javascript:void(0)" class="easyui-linkbutton" id="btnAddRole" iconcls="icon-ok" onclick="AddRoleInfoBind();" >确定</a>
                            <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" onclick="$('#DivAddUser').dialog('close')">关闭</a>
                        </td>
                    </tr>
                </table>
            </fieldset>

        </form>
    </div>
 
     <!------------------------弹出修改角色信息的弹出层---------------------------------->
    <div id="DivUpdateRole" class="easyui-dialog" style="width:580px;height:300px;padding:10px 20px"
			closed="true" resizable="true" modal="true" buttons="#dlg-buttons">
        <form id="ffUpdate" method="post" novalidate="novalidate">
            <fieldset>
                <legend>角色信息的修改</legend>
                <table id="tblUpdate">
                    <tr>
                         <input type="hidden" id="RoleId" name="RoleId" />
                        <td><label for="UserName">角色名称：</label></td>
                        <td>
                            <input class="easyui-validatebox" type="text" id="RoleName1" name="RoleName" data-options="required:true,validType:'length[1,32]'" />
                        </td>           
                        
                    </tr>
                    <tr>
                        <td><label for="SortCode">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;排序码：</label></td>
                        <td>
                            <input class="easyui-validatebox" type="text" id="RoleOrder1" name="RoleOrder" />
                        </td>
                    </tr>
                    <tr>
                        <td><label for="Description">角色描述：</label></td>
                        <td colspan="3">
                            <textarea  style="height:50px; width:406px;" id="RoleDescription1" name="RoleDescription" ></textarea>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="text-align:center; padding-top:10px">
                            <a href="javascript:void(0)" class="easyui-linkbutton" id="btnAddRole" iconcls="icon-ok" onclick="BindUpdateRoleInfo();" >确定</a>
                            <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" onclick="$('#DivUpdateRole').dialog('close')">关闭</a>
                        </td>
                    </tr>
                </table>
            </fieldset>

        </form>
    </div>
   <script type="text/javascript">

        jQuery(document).ready(function () {
            $('#dg').datagrid({
                url: '/RoleManagement/GetList',
                columns: [[
                    { field: 'ck', checkbox: true },
                    { field: 'RoleId', title: '编号', width: 100 },
                    { field: 'RoleName', title: '角色名称', width: 100 },
                    { field: 'RoleDescription', title: '描述', width: 100, align: 'right' }
                ]],
                iconCls: 'icon-save',
                
                nowrap: true,
                singleSelect: true,
                striped: true,
                collapsible: true,
                pagination: true,
                width: 'auto',
                

                rownumbers: true,
                    toolbar: [{
                        id: 'btnadd',
                        text: '添加',
                        iconCls: 'icon-add',
                        handler: function () {
                            //实现弹出注册信息的页面
                            ShowAddUserDialog();
                        }
                    }, '-', {
                        id: 'btncut',
                        text: '修改',
                        iconCls: 'icon-cut',
                        handler: function () {
                            //实现修改的方法
                            UpdateRoleInfo();
                        }
                    }, '-', {
                        id: 'btnIsNotCancle',
                        text: '伪删除',
                        iconCls: 'icon-remove',
                        handler: function () {
                            //实现伪删删除的方法
                            deleteBaseRoleInfo("not");
                        }
                    }, '-', {
                        id: 'btnCancle',
                        text: '直接删除',
                        iconCls: 'icon-remove',
                        handler: function () {
                            //实现直接删除所有数据的方法
                            deleteBaseRoleInfo();
                        }
                    }, '-', {
                        id: 'btnBrowse',
                        text: '浏览',
                        iconCls: 'icon-tip',
                        handler: function () {
                            //实现浏览的方法
                            UpdateRoleInfo("browse");
                        }
                    }, '-', {
                        id: 'btnRecycle',
                        text: '回收站',
                        iconCls: 'icon-sum',
                        handler: function () {
                            //实现回收站的方法
                            RecycleBinShow();
                        }
                    }, '-', {
                        id: 'btnRestore',
                        text: '还原',
                        iconCls: 'icon-back',
                        handler: function () {
                            //实现还原的方法
                            deleteBaseRoleInfo("back");
                        }
                    }, '-', {
                        id: 'btnreload',
                        text: '刷新',
                        iconCls: 'icon-reload',
                        handler: function () {
                            $("#test").datagrid("reload");
                        }
                    }]
        });
        });
        //easyUI 弹出添加用户的对话框
        function ShowAddUserDialog() {
            //弹出层
           // $("#DivAddUser").dialog('open').dialog('setTitle', '添加用户信息');
            $('#DivAddUser').dialog({
                title: '添加用户信息',
                //width: 400,
                //height: 200,
                closed: false,
                cache: false,
               // href: 'get_content.php',
                modal: true,
                onClose: function () {
                        //解决弹出窗口关闭后，验证消息还显示在最上面
                        
                }
            });
            //$('#DivAddUser').dialog({
            //    onClose: function () {
            //        //解决弹出窗口关闭后，验证消息还显示在最上面
            //        $('.validatebox-tip').remove();
            //    }
            //});
            //在弹出层的时候删除掉文本框中的信息
            //ClearTxtInfo();
        }
        //实现角色的添加
        function AddRoleInfoBind() {
           
                //判断用户的信息是否通过验证
                var validate = $("#ff").form('validate');
                if (validate == false) {
                    return false;
                }
                //获取需要传递的参数传递给前台
                var postData = $("#ff").serializeArray();

                //发送异步请求到后台保存用户数据
                $.post("../RoleManagement/AddRole", postData, function (data) {
                    if (data = "OK") {
                        //添加成功  1.关闭弹出层，2.刷新DataGird
                        alert("添加角色成功");
                        $('#DivAddUser').dialog('close');
                        $(".validatebox-tip").remove();
                       // $("#DivAddUser").dialog("close");
                        $("#dg").datagrid("reload");
                        $("#ff").form("clear");
                    }
                    else {
                        alert("添加角色失败，请您检查");
                    }
                });
           
        }
        
        //修改用户的信息
        function UpdateRoleInfo(browse) {
            //首先取出来用户选择的数据的ID
            var rows = $("#dg").datagrid("getSelections");
            //首先取出来值判断用户只能选择一个
            if (rows.length != 1) {
                $.messager.alert("友情提示", "每次只能修改/浏览一条，你已经选择了<font color='red'  size='6'>" + rows.length + "</font>条", "error");
                return;
            }
            if (browse == null) {
                //处理修改的信息，弹出修改的对话框,然后显示选择的用户的详细信息
                $("#DivUpdateRole").dialog('open').dialog('setTitle', '修改角色信息');
                //绑定修改显示详细信息的方法
                BindShowUpdateRoleInfo();
            }
            else {
                //处理浏览的信息，弹出浏览狂，然后显示浏览信息的相信信息
                $("#DivBrowerRole").dialog('open').dialog('setTitle', '角色浏览');
                //绑定用户的浏览信息
                BindBrowerRoleInfo();
            }
        }

        //绑定修改显示详细信息的方法
        function BindShowUpdateRoleInfo() {
            //首先用户发送一个异步请求去后台实现方法
            var ID = $("#dg").datagrid("getSelections")[0].RoleId;  //获取到了用用户选择的ID
            $.get("../RoleManagement/GetRoleInfos", { ID: ID }, function (roleInfo) {
                $("#RoleId").val(roleInfo.RoleId);
                $("#RoleName1").val(roleInfo.RoleName);
                $("#RoleOrder1").val(roleInfo.RoleOrder);
                
                $("#RoleDescription1").val(roleInfo.RoleDescription);
            });
        }
        
        //绑定浏览详细信息的方法
        function BindBrowerRoleInfo() {
            //var ID = $("#dg").datagrid('getSelections')[0].ID;
            ////发送请求
            //$.get("/Role/GetRoleInfos", { ID: ID }, function (roleInfo) {
            //    $("#ID2").val(roleInfo.ID);
            //    $("#DeletionStateCode2").combobox('setValue', roleInfo.DeletionStateCode);
            //    $("#Realname2").val(roleInfo.Realname);
            //    $("#CategoryCode2").combobox('setValue', roleInfo.CategoryCode);
            //    $("#SortCode2").val(roleInfo.SortCode);
            //    $("#AllowEdit2").combobox('setValue', roleInfo.AllowEdit);
            //    $("#IsVisible2").combobox('setValue', roleInfo.IsVisible);
            //    $("#Enabled2").combobox('setValue', roleInfo.Enabled);
            //    $("#Description2").val(roleInfo.Description);
            //    $("#CreateBy2").val(roleInfo.CreateBy);
            //    $("#ModifiedBy2").val(roleInfo.ModifiedBy);
            //    $("#CreateOn2").datebox('setValue', (eval(roleInfo.CreateOn.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")).pattern("yyyy-M-d h:m:s")));
            //    $("#ModifirdOn2").datebox('setValue', (eval(roleInfo.ModifirdOn.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")).pattern("yyyy-M-d h:m:s")));
            //})
        }
        //实现直接删除数据和伪删除数据的方法
        function deleteBaseRoleInfo(not) {
            //得到用户选择的数据的ID
            var rows = $("#dg").datagrid("getSelections");
            //首先判断用户是否已经选择了需要删除的数据,然后循环将用户选择的数据传递到后台
            if (rows.length >= 1) {
                //遍历出用户选择的数据的信息，这就是用户用户选择删除的用户ID的信息
                var ids = "";   //1,2,3,4,5
                for (var i = 0; i < rows.length; i++) {
                    //异步将删除的ID发送到后台，后台删除之后，返回前台，前台刷洗表格
                    ids += rows[i].RoleId + ",";
                }
                //最后去掉最后的那一个,
                ids = ids.substring(0, ids.length - 1);
                //获取用户选择的用户信息，如果用户选择了已经登录的用户的话需要给出不能删除的信息
                var roleNames = "";
                for (var i = 0; i < rows.length; i++) {
                    roleNames += rows[i].Realname + ",";
                }
                roleNames = roleNames.substring(0, roleNames.length - 1);
                //首先取出来到底是直接删除还是伪删除发送异步请求的地址和是否是伪删除的参数
                var postData = "";

                postData = {
                    ID: ids
                };
                //}
                //else {
                //    postData = {
                //        ID: ids, Not: not
                //    }
                //}
                //然后确认发送异步请求的信息到后台删除数据
                $.messager.confirm("删除信息", "您确认删除<font color='red' size='3'>" + roleNames + "</font>角色吗？", function (DeleteRole) {
                    if (DeleteRole) {
                        $.get("../RoleManagement/DeleteRole", postData, function (data) {
                            if (data == "OK") {
                                //友情提示用户删除成功，刷新表格
                                $.messager.alert("友情提示", "删除/还原成功");
                                $("#dg").datagrid("reload");
                                //当删除完成之后，第二次删除的时候还记得上次的信息，这样是不可以的，所以我们需要清除第一次的信息
                                //第一种方法
                                rows.length = "";
                                //第二种方法
                                $("#dg").datagrid("clearSelections");
                            }
                            else {
                                $.messager.alert("友情提示", data);
                            }
                        });
                    }
                });
            }
            else {
                alert("请选择你要删除的数据");
            }
        }
            
            //修改用户的相信信息
        function BindUpdateRoleInfo() {
           
                //首先也是对用户进行检测
                var validate = $("#ffUpdate").form("validate");
                if (validate == false) {
                    return false;
                }
                //构造参数发送给后台
                var posData = $("#ffUpdate").serializeArray();
            $.get("../RoleManagement/UpdateRoleInfo", posData, function(date) {
                if (date == "ok") {
                    //修改成功，关闭弹出层，刷新DataGird
                    alert("修改成功");
                    $("#DivUpdateRole").dialog('close');
                    $("#dg").datagrid("reload");
                } else {
                    $.messager.alert("友情提示", "修改失败，请您检查");
                }
            });

        }
</script>